package pers.dawnyang.config.filter.xss;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

/**
 * XSS过滤
 * 
 * @author dawn yang
 * 
 */
@Order(2)
@WebFilter(filterName = "Filter2_XssFilter", urlPatterns = {"/*"})
@Component
public class XssFilter implements Filter {

  @Override
  public void init(FilterConfig filterConfig) throws ServletException {}

  @Override
  public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
      FilterChain filterChain) throws IOException, ServletException {
    HttpServletRequest request = (HttpServletRequest) servletRequest;
    XssRequestWrapper xssHttpServletRequestWrapper = new XssRequestWrapper(request);
    filterChain.doFilter(xssHttpServletRequestWrapper, servletResponse);
  }

  @Override
  public void destroy() {

  }

}
